package controller;

import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.util.TreeSet;

import javax.swing.JTable;

import model.Werknemer;
import views.TablePanel;
import views.WerknemersInkijkenPanel;
import datalayer.abstractFactory.DAOFactory;

public class TableListener implements MouseListener{
	
	public JTable table;
	public TreeSet<Werknemer> wrkn = DAOFactory.getFactory().getDAOWerknemer().loadAll();
	public Werknemer werknemerslijst;
	
	// Hier laad hij alle werknemers
	public TableListener(JTable tbl) {
		this.table = tbl;
		DAOFactory.setFactory(0);
		//DAOFactory.getFactory().getDAOWerknemer().loadAll();
	}
	
	WerknemersInkijkenPanel inkpanel;
	SwitchPanel sp;
	
	public TableListener(SwitchPanel sppanel, WerknemersInkijkenPanel ikppanel){
		sp = sppanel;
		inkpanel = ikppanel;
	}
	
	// 2 keer klikken en hij opent de inkijkenpanel van werknemer met de aangeklikte data
	@Override
	public void mouseClicked(MouseEvent e) {
		if(e.getClickCount() == 2){
			
			sp.switchpanelto("WerknemersInkijken");
			TablePanel table = new TablePanel(sp, inkpanel);
			
			String voornaam = (String) table.getTable().getValueAt(table.getTable().rowAtPoint(e.getPoint()), 0);
			String tussenvoegsel = (String) table.getTable().getValueAt(table.getTable().rowAtPoint(e.getPoint()), 1);
			String achternaam = (String) table.getTable().getValueAt(table.getTable().rowAtPoint(e.getPoint()), 2);
			String email = (String) table.getTable().getValueAt(table.getTable().rowAtPoint(e.getPoint()), 3);
			String telefoon = (String) table.getTable().getValueAt(table.getTable().rowAtPoint(e.getPoint()), 4);
			String functie = (String) table.getTable().getValueAt(table.getTable().rowAtPoint(e.getPoint()), 5);
			
			inkpanel.getVoornaamtxt().setText(voornaam);
			inkpanel.getTussenvoegseltxt().setText(tussenvoegsel);
			inkpanel.getAchternaamtxt().setText(achternaam);
			inkpanel.getEmailtxt().setText(email);
			inkpanel.getTelefoonnummertxt().setText(telefoon);
			inkpanel.getFunctietxt().setText(functie);
			
			System.out.println(table.getTable().getValueAt(table.getTable().rowAtPoint(e.getPoint()), 0));
		}

	}
	@Override
	public void mouseEntered(MouseEvent e) {
		// TODO Auto-generated method stub
		
	}
	@Override
	public void mouseExited(MouseEvent e) {
		// TODO Auto-generated method stub
		
	}
	@Override
	public void mousePressed(MouseEvent e) {
		// TODO Auto-generated method stub
		
	}
	@Override
	public void mouseReleased(MouseEvent e) {
		// TODO Auto-generated method stub
		
	}	
}
